/*
 * ==================================================
 * 项目开发者：JerryStark
 * 开发者Email：4771007@qq.com
 * 开发者QQ:4771007
 * 开发范围：web，wap，android,ios,osx or win or linux 应用
 * ==================================================
 */
package RTGame;

import RTGame.Configs.Load;
import RTGame.GetGames.GameManage;
import RTGame.Panels.ConterMain;
import RTGame.Server.Manage;
import javax.swing.JOptionPane;

/**
 *
 * @author jerry
 */
public class Main {

    /**
     * 服务器线程实例
     */
    public static Manage ServerManage;

    /**
     * 抓取实例
     */
    public static GameManage GetManage;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        //开始检查以及加载配置文件,如果配置文件有问题需要终止
        boolean config_load_status = Load.Format();
        System.err.println(config_load_status);

        //没有初始化就终止并提示
        if (!config_load_status) {
            JOptionPane.showMessageDialog(null, "程序未初始化配置,请修改Config/MainConfig.json文件,并把首个Status值改为start");
        }

        //端口监听以及抓取运行,靠面板传入参数来启动,否则值启动面板
        if (args.length > 0) {
            if (args[0].equals("-start")) {
                //开启端口监听
                StartServer();
                return;
            }
        }
        //正常启动管理面板
        new ConterMain().setVisible(true);
    }

    /**
     * 开启一个服务端口监听
     * <br>准备一个抓取实例
     */
    private static void StartServer() {
        /**
         * 开启一个端口监听服务
         * <br>使用一个新线程
         */
        ServerManage = new Manage();
        GetManage = new GameManage();
        ServerManage.Start();//开启端口监听
        GetManage.Start();//开启游戏抓取
    }

}
